package com.tencreat.domain.account;

import com.baomidou.mybatisplus.annotation.*;
import com.tencreat.common.annotation.Excel;
import com.tencreat.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;


/**
 * 用户提现基础信息对象 account_withdraw_info
 *
 * @author tencreat
 * @date 2021-11-25
 */
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
@AllArgsConstructor
@NoArgsConstructor
@ApiModel
@TableName("account_withdraw_info")
public class AccountWithdrawInfo extends BaseEntity<AccountWithdrawInfo> {
    private static final long serialVersionUID = 1L;


    /**
     * $column.columnComment
     */
    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "ID")
    private Long id;


    /**
     * 用户id
     */
    @Excel(name = "用户id")
    @ApiModelProperty(value = "用户id")
    @TableField("`user_id`")
    private Long userId;


    /**
     * 微信手机号
     */
    @Excel(name = "微信手机号")
    @ApiModelProperty(value = "微信手机号")
    @TableField("`wechat_phone`")
    private String wechatPhone;


    /**
     * 微信真实姓名
     */
    @Excel(name = "微信真实姓名")
    @ApiModelProperty(value = "微信真实姓名")
    @TableField("`wechat_name`")
    private String wechatName;

    @Excel(name = "微信收款码")
    @ApiModelProperty(value = "微信收款码")
    @TableField("`wechat_qr`")
    private String wechatQr;

    /**
     * 支付宝手机号
     */
    @Excel(name = "支付宝手机号")
    @ApiModelProperty(value = "支付宝手机号")
    @TableField("`alipay_phone`")
    private String alipayPhone;


    /**
     * 支付宝真实姓名
     */
    @Excel(name = "支付宝真实姓名")
    @ApiModelProperty(value = "支付宝真实姓名")
    @TableField("`alipay_name`")
    private String alipayName;

    @Excel(name = "支付宝收款码")
    @ApiModelProperty(value = "支付宝收款码")
    @TableField("`alipay_qr`")
    private String alipayQr;


    /**
     * 开户银行
     */
    @Excel(name = "开户银行")
    @ApiModelProperty(value = "开户银行")
    @TableField("`bank_name`")
    private String bankName;


    /**
     * 银行卡号
     */
    @Excel(name = "银行卡号")
    @ApiModelProperty(value = "银行卡号")
    @TableField("`bank_code`")
    private String bankCode;


    /**
     * 持卡人姓名
     */
    @Excel(name = "持卡人姓名")
    @ApiModelProperty(value = "持卡人姓名")
    @TableField("`card_name`")
    private String cardName;


    /**
     * 删除标志（0代表存在 2代表删除）
     */
    @TableLogic
    @TableField("`del_flag`")
    private String delFlag;


    /**
     * 租户ID
     */
    @Excel(name = "租户ID")
    @ApiModelProperty(value = "租户ID")
    @TableField("`tenant_id`")
    private Long tenantId;

    /**
     * 绑定状态
     */
    @Excel(name = "绑定状态")
    @ApiModelProperty(value = "绑定状态 0-未绑定 1-绑定")
    @TableField("`bind_status`")
    private Long bindStatus;

    /**
     * 类型 0-提现 1-充值
     */
    @Excel(name = "类型")
    @ApiModelProperty(value = "类型")
    @TableField("`type`")
    private Long type;

    @TableField(exist = false)
    @ApiModelProperty(value = "验证码")
    private String kaptchaCode;

    @Excel(name = "开户银行")
    @ApiModelProperty(value = "银行卡预留手机号")
    @TableField("`bank_tel_phone`")
    private String bankTelPhone;

    /**
     * 第三方银行卡id
     */
    @Excel(name = "第三方银行卡id")
    @ApiModelProperty(value = "第三方银行卡id")
    @TableField("`bind_card_id`")
    private String bindCardId;

    /**
     * 绑卡编号
     */
    @Excel(name = "绑卡编号")
    @ApiModelProperty(value = "绑卡编号")
    @TableField("`pay_no`")
    private String payNo;
}
